package com.a2v2.online.store.common.dto;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Map;

import com.a2v2.online.store.common.type.ChannelType;
import com.a2v2.online.store.common.type.CustomerType;

public abstract class Token implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 8976486523606513087L;

	private String customerMobile;
	private String customerEmail;
	private String customerId;
	private String customerName;
	private String loginSessionId;
	private CustomerType customerType;
	private String loginChannelType;
	private String ipAddress;
	private Timestamp loggedInTime;
	private Timestamp lastLoggedInTime;
	private ChannelType channelType;
	private String customerCredentialId;
	private Map<String, String> paymentOptions = null;
	
	/**
	 * @return the customerMobile
	 */
	public String getCustomerMobile() {
		return customerMobile;
	}

	/**
	 * @param customerMobile
	 *            the customerMobile to set
	 */
	public void setCustomerMobile(String customerMobile) {
		this.customerMobile = customerMobile;
	}

	/**
	 * @return the customerEmail
	 */
	public String getCustomerEmail() {
		return customerEmail;
	}

	/**
	 * @param customerEmail
	 *            the customerEmail to set
	 */
	public void setCustomerEmail(String customerEmail) {
		this.customerEmail = customerEmail;
	}

	/**
	 * @return the customerId
	 */
	public String getCustomerId() {
		return customerId;
	}

	/**
	 * @param customerId
	 *            the customerId to set
	 */
	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}

	/**
	 * @return the customerName
	 */
	public String getCustomerName() {
		return customerName;
	}

	/**
	 * @param customerName
	 *            the customerName to set
	 */
	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	/**
	 * @return the loginSessionId
	 */
	public String getLoginSessionId() {
		return loginSessionId;
	}

	/**
	 * @param loginSessionId
	 *            the loginSessionId to set
	 */
	public void setLoginSessionId(String loginSessionId) {
		this.loginSessionId = loginSessionId;
	}

	/**
	 * @return the customerType
	 */
	public CustomerType getCustomerType() {
		return customerType;
	}

	/**
	 * @param customerType
	 *            the customerType to set
	 */
	public void setCustomerType(CustomerType customerType) {
		this.customerType = customerType;
	}

	/**
	 * @return the loginChannelType
	 */
	public String getLoginChannelType() {
		return loginChannelType;
	}

	/**
	 * @param loginChannelType
	 *            the loginChannelType to set
	 */
	public void setLoginChannelType(String loginChannelType) {
		this.loginChannelType = loginChannelType;
	}

	/**
	 * @return the ipAddress
	 */
	public String getIpAddress() {
		return ipAddress;
	}

	/**
	 * @param ipAddress
	 *            the ipAddress to set
	 */
	public void setIpAddress(String ipAddress) {
		this.ipAddress = ipAddress;
	}

	/**
	 * @return the loggedInTime
	 */
	public Timestamp getLoggedInTime() {
		return loggedInTime;
	}

	/**
	 * @param loggedInTime
	 *            the loggedInTime to set
	 */
	public void setLoggedInTime(Timestamp loggedInTime) {
		this.loggedInTime = loggedInTime;
	}

	/**
	 * @return the channelType
	 */
	public ChannelType getChannelType() {
		return channelType;
	}

	/**
	 * @param channelType
	 *            the channelType to set
	 */
	public void setChannelType(ChannelType channelType) {
		this.channelType = channelType;
	}

	public String getCustomerCredentialId() {
		return customerCredentialId;
	}

	public void setCustomerCredentialId(String customerCredentialId) {
		this.customerCredentialId = customerCredentialId;
	}

	/**
	 * @return the lastLoggedInTime
	 */
	public Timestamp getLastLoggedInTime() {
		return lastLoggedInTime;
	}

	/**
	 * @param lastLoggedInTime the lastLoggedInTime to set
	 */
	public void setLastLoggedInTime(Timestamp lastLoggedInTime) {
		this.lastLoggedInTime = lastLoggedInTime;
	}

	public Map<String, String> getPaymentOptions() {
		return paymentOptions;
	}

	public void setPaymentOptions(Map<String, String> paymentOptions) {
		this.paymentOptions = paymentOptions;
	}

}
